home *** CD-ROM | disk | FTP | other *** search
/ EnigmA Amiga Run 1995 November / EnigmA AMIGA RUN 02 (1995)(G.R. Edizioni)(IT)[!][issue 1995-11][Skylink CD].iso / earcd / program / amos / examples.lha / Salim_Amos_Sources / Scroll-Hard.Amos / Scroll-Hard.amosSourceCode < prev   
AMOS Source Code  |  1995-08-30  |  1KB  |  61 lines

  1. '
  2. ' This is a hard Scroll using screen offset
  3. ' instead of the slow AMOS command Scroll
  4. ' quite fast even with large fonts.  
  5. '
  6. ' (c) Gasmi Salim
  7. '
  8. '
  9.  
  10. LEC=360 : Rem width of the screen
  11. LO=16 : Rem  x size fonts  
  12. LA=16 : Rem  y size fonts  
  13. VIT=4 : Rem scroll speed 
  14. DIS=123 : Rem Y BASE OF Screen Scroll  
  15. POS=455 : Rem X coord of the 1st letter  
  16. '------------------------------------  
  17. Hide 
  18. Unpack 6 To 0
  19. Screen Hide 
  20. LO=16
  21. LA=16
  22. C$="abcdefghijklmnopqrstuvwxyz .,!'?:()0123456789DBMSFZCG-+//"
  23. L=Len(C$)
  24. Dim X(L),Y(L)
  25. For Y=1 To 3
  26.    For X=1 To 19
  27.       Inc CP
  28.       X(CP)=(X-1)*LO+1
  29.       Y(CP)=(Y-1)*LA+101
  30.    Next X
  31. Next Y
  32. OUT:
  33. LEC=360
  34. Screen Open 1,2*LEC,30,16,Lowres
  35. Screen Display 1,DIS,250,LEC,
  36. Flash Off 
  37. Get Palette 0
  38. Cls 0
  39. TX$=""
  40. TX$=TX$+"this is a hard scrolling ....."
  41. TX$=TX$+"..coded by salim a loooong time ago  "
  42. Do 
  43.    Gosub STEXT
  44.    Wait Vbl 
  45. Loop 
  46. Rem ------ SCROLL TEXT ROUTINE ----------
  47. Rem
  48. STEXT:
  49. Inc P
  50. Add X,VIT,1 To LEC
  51. Screen Offset 1,X,
  52. If P<>(LO/VIT) Then Return 
  53. P=0
  54. Add C,1,1 To Len(TX$)
  55. E$=Mid$(TX$,C,1)
  56. E=Instr(C$,E$)
  57. If E=0 Then Return 
  58. Screen Copy 0,X(E),Y(E),X(E)+LO,Y(E)+LA To 1,X Screen(1,POS),3
  59. Screen Copy 0,X(E),Y(E),X(E)+LO,Y(E)+LA To 1,X Screen(1,POS-LEC),3
  60. Return 
  61. Rem